﻿using mozhi.smarterp.Business.Enums;
using System;
using System.Threading.Tasks;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Application.Services;

namespace mozhi.smarterp.Business.Sales.Quotations
{
    public interface ISaleQuotationAppService : IApplicationService
    {
        Task<SaleQuotationDto> GetAsync(Guid id);

        Task<SaleQuotationDto> CreateAsync(SaleQuotationCreateDto input);

        Task<SaleQuotationDto> UpdateAsync(SaleQuotationUpdateDto input);

        Task<SaleQuotationDto> UpdateStatusAsync(Guid id , DocumentStatusType  status);

        Task<PagedResultDto<SaleQuotationDto>> GetListAsync(SaleQuotationPagedResultRequestDto filter);

        Task DeleteAsync(Guid id);

        Task<Guid> PushSaleOrderAsync(Guid id);
    }
}
